1. Field of the Invention
The present invention relates to a communication technique of communicating with a terminal as a packet transmission destination via a network.
2. Description of the Related Art
Examples of a protocol commonly used in the Internet are a TCP and an IP. The IP corresponds to the network layer in the OSI reference model, and the TCP corresponds to the transport layer in the OSI reference model.
To implement TCP communication processing, it is a common practice to use a Transmission Control Block (TCB) which stores various kinds of information concerning control of TCP communication. The TCB is a management part for each TCP connection, which is implemented in a structure by software implementation. The TCB stores information such as a transition state, sequence number, ACK number, and window size necessary for TCP communication. TCP transmission/reception processing is attained by referring to or updating the information stored in the TCB.
In fact, when communicating with a partner terminal on a network using the TCP, a protocol in a lower layer is needed in addition to the TCP, and communication is performed using these protocols. As a practical example, a TCP segment as a TCP communication unit is formed into an IP packet, and the IP packet is encapsulated in an Ethernet frame, thereby accessing the network using an Ethernet®. Note that it is possible to identify the partner terminal on the network by a MAC address. Designating the MAC address of the partner terminal as the destination MAC address of the transmitted Ethernet frame enables the partner terminal to receive the Ethernet frame. The partner terminal can extract the IP packet from the received Ethernet frame, and then extract the TCP segment from the IP packet. This allows TCP communication.
Similarly, it is also possible to use a wireless LAN instead of the Ethernet.
As described above, by designating the MAC address of the partner terminal as the destination MAC address of the Ethernet frame, it is possible to correctly communicate the Ethernet frame to the partner terminal on the network. That is, the transmission source needs to know the MAC address of the partner terminal. A method of realizing such communication is to use an ARP and an ARP table.
The ARP table is created, updated, and deleted by the Address Resolution Protocol (ARP). In some cases, the user manipulates the ARP table. More specifically, the ARP table is formed by a set of information entries each of which is stored as a pair of the MAC address and IP address of a terminal on the network. Every time an IP packet is transmitted, the ARP table is searched for a corresponding MAC address based on the destination IP address of the IP packet. With this processing, a destination MAC address is decided, and a partner terminal on the network is identified, thereby allowing communication.
However, deciding a destination MAC address using the ARP table every time an IP packet is transmitted imposes a high processing load. More specifically, the ARP table is searched for an information entry corresponding to the destination IP address. If the target information entry is found, a destination MAC address is decided based on the found information entry, thereby creating the header of an Ethernet frame. That is, assume that a plurality of terminals exist on the network. In this case, as the number of terminals increases, the number of information entries managed by the ARP table also increases, resulting in a heavy processing load of searching for an information entry every time an IP packet is transmitted.
To solve this problem, there is proposed a method which uses a hash technique to increase the speed of search processing (Japanese Patent No. 4888369). Using this method for processing of searching the ARP table for an information entry can reduce the load of the search processing.
However, recent Ethernet standards allow communication at higher speed. Similarly, the speed of communication has increased in wireless LANs. To perform communication in such high-speed network, it is desired to further increase the speed of search processing in reference of the ARP table.